//669 Trim a Binary Search Tree
/*
给定一个二叉查找树和两个整数 L 和 R，且 L < R，试修剪此二叉查找树，使得修剪后所有
节点的值都在 [L, R] 的范围内。

Input: L = 1, R = 3, tree =
		3
	   / \
	  0   4
	   \
		2
		/
	   1
Output:
		3
	   /
	  2
	 /
	1

*/

//
TreeNode *trimBST(TreeNode *root, int L, int R)
{
	if (!root)
	{
		return root;
	}
	if (root->val > R)
	{
		return trimBST(root->left, L, R);
	}
	if (root->val < L)
	{
		return trimBST(root->right, L, R);
	}
	root->left = trimBST(root->left, L, R);
	root->right = trimBST(root->right, L, R);
	return root;
}
